package movimiento.patrones;

import juego.Escenario;
import auxiliares.Vector;
import movimiento.*;

/*
 * Patron de idas y vueltas. Se mueve avanzando en el eje y a la velocidad dada. Al
 * llegar a alguno de los bordes del escenario se invierte el signo de la velocidad.
 */
public class IdasVueltas extends PatronMovimiento {

	@Override
	public Posicion calcularNuevaPosicion(Posicion posicion, Vector velocidad) {
		int yFinal;
		int xInicial = posicion.getEnX();
		int yInicial = posicion.getEnY();

		yFinal = yInicial + velocidad.getComponenteY();
		if (yFinal >= Escenario.getInstance().getMaxY() || yFinal <= 0) {
			velocidad.setComponenteY(-1 * velocidad.getComponenteY());
			yFinal = yInicial + velocidad.getComponenteY();
		}
		return new Posicion(xInicial, yFinal);
	}

}
